To avoid MSR save/restore at every VM exit/entry time, we restore the
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 4 Jul 2005 08:21:35 +0000 (08:21 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 4 Jul 2005 08:21:35 +0000 (08:21 +0000)
commitd83ba385f0b5412b02177592954eed3f85a256ed
treedf338e3466e15f47771f846a1c39877678d2e86e
parentd05c4adbfb1dc84649a6469e887bf489dc90a8c8
To avoid MSR save/restore at every VM exit/entry time, we restore the
x86_64 specific MSRs at domain switch time if modified. In VMX domains,
we modify those upon requests from the guests to that end. Note that
IA32_EFER.LME and IA32_EFER.LMA are saved/restored by H/W on every VM
exit. For the usual domains (i.e. dom0 and domU), those MSRs are not
modified once set at initialization time, so we don't save them when
swiched out, but simply reset them (if modified) to the initial values
when switched in. This patch also include extended handling for 64-bit
guests. Please apply.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
xen/arch/x86/domain.c
xen/arch/x86/vmx.c
xen/include/asm-x86/msr.h
xen/include/asm-x86/vmx_vmcs.h